#ifndef __kraw__ModelLoader_h__
#define __kraw__ModelLoader_h__

#include "resource/loader.h"
#include <vector>


namespace kraw
{
	enum VertexAttrib
	{
		Vertex_Position = 0,
		Vertex_Tex0,
		Vertex_Tex1,
		Vertex_Normal,
		Vertex_Tangent,
		Vertex_Color,
		Vertex_Indices,
		Vertex_Weights,
	};

	struct Mesh
	{
		Mesh();
		~Mesh();

		void setAttrib(VertexAttrib attrib, int size);

		int numVertices;
		int numIndices;
		
		unsigned int attribFlags;
		float* vertices;
		unsigned int* indices;
	};

	class Model;
	class ModelLoader : public AssetLoader
	{
	public:
		
		ModelLoader();
		virtual ~ModelLoader();

		virtual bool load();
		virtual void unload();

		std::vector<Mesh*> meshes;

	private:
		
	};
}

#endif
